Ext.namespace('pages.menu.menuCode');
pages.menu.menuCode.MenuUpdate = function(config) {
	Ext.apply(this, config);
	/** 操作类型 */
	this.operType = config.operType;
	this.record=config.record;
	this.selectedTreeNode = config.selectedTreeNode;
	this.treeStore = config.treeStore;
	this.parentNode = this.selectedTreeNode.parentNode;
	this.treepanel = config.treepanel;
	this.initUIComponents();
	pages.menu.menuCode.MenuUpdate.superclass.constructor.call(this);
};


Ext.extend(pages.menu.menuCode.MenuUpdate, Ext.Window, {
	initUIComponents : function() {
		this.form = new Ext.form.FormPanel({
			layout : 'column',
			height : 180,
			labelWidth : 100,
			labelAlign : 'right',
			autoScroll : false,
			border : false,
			frame : false,
			items : [ {
				columnWidth : 1,
				height : 10,
				border : false
			}, {
				columnWidth : 1,
				layout : 'form',
				border : false,
				hidden:true,
				items : [ {
					fieldLabel : 'id',
					xtype : 'textfield',
					name : 'ID',
					anchor : '50%',
					allowBlank : false,
					//readOnly:true,
					id : 'ID'
				} ]
			}, {
				columnWidth : 1,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : '名字',
					xtype : 'textfield',
					name : 'NAME',
					anchor : '50%',
					allowBlank : false,
					maxLength : 45,
					maxLengthText : '不能超过45个字!',
					//readOnly:true,
					id : 'NAME'
				} ]
			}, {
				columnWidth : 1,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : '功能描述',
					xtype : 'textarea',
					name : 'COMMENT',
					anchor : '96%',
					maxLength : 500,
					maxLengthText : '不能超过500个字!',
					//readOnly:true,
					id : 'COMMENT'
				} ]
			}, {
				columnWidth : 1,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : '公共代码',
					xtype : 'textfield',
					name : 'CODE_ALIAS',
					anchor : '50%',
					allowBlank : false,
					maxLength : 45,
					maxLengthText : '不能超过45个字!',
					//readOnly:true,
					id : 'CODE_ALIAS'
				} ]
			} , {
				columnWidth : 1,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : '属性值',
					xtype : 'textfield',
					name : 'CODE_VALUE',
					anchor : '96%',
					allowBlank : false,
					maxLength : 45,
					maxLengthText : '不能超过45个字!',
					//readOnly:true,
					id : 'CODE_VALUE'
				} ]
			}, {
				columnWidth : 1,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : '排序位置',
					xtype : 'textfield',
					name : 'ORDER_INDEX',
					anchor : '50%',
					maxLength : 45,
					maxLengthText : '不能超过45个字!',
					//readOnly:true,
					id : 'ORDER_INDEX'
				} ]
			}, {
				columnWidth : 1,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : '上级节点',
					xtype : 'textfield',
					name : 'PARENT_NAME',
					anchor : '50%',
					readOnly:true,
					id : 'PARENT_NAME'
				} ]
			},{
				columnWidth : 1,
				layout : 'form',
				border : false,
				hidden :true,
				items : [ {
					fieldLabel : '上级节点id',
					xtype : 'textfield',
					name : 'PARENT_ID',
					id : 'PARENT_ID'
				} ]
			}],
			tbar : [ {
				text : '保存',
				iconCls : 'save',
				handler:this.onSave.createDelegate(this)
			}, {
				text : '关闭',
				iconCls : 'close',
				handler:this.onCancel.createDelegate(this)
			} ]
		});

		Ext.apply(this, {
			id : 'menuUpdateWindow',
			title : '修改菜单',
			border : false,
			layout : 'fit',
			style:{
				marginRight: 'auto',
		        marginLeft: 'auto'
			},
			width : 500,
			height : 300,
			modal : true,
			items : [ this.form ],
			listeners:{
				'render' : this.initData.createDelegate(this)
			}
		});
	},
	initData : function() {
		if('rx'==this.operType){
			Ext.getCmp("PARENT_NAME").setValue(this.selectedTreeNode.attributes.text);
			Ext.getCmp("ID").setValue(this.record.get('ID'));
			Ext.getCmp("NAME").setValue(this.record.get('NAME'));
			Ext.getCmp("CODE_ALIAS").setValue(this.record.get('CODE_ALIAS'));
			Ext.getCmp("CODE_VALUE").setValue(this.record.get('CODE_VALUE'));
			Ext.getCmp("COMMENT").setValue(this.record.get('CODE_COMMENT'));
			Ext.getCmp("ORDER_INDEX").setValue(this.record.get('ORDER_INDEX'));
			Ext.getCmp("PARENT_ID").setValue(this.record.get('PARENT_ID'));
		}else{
			if("-1"==this.parentNode.id){
			Ext.getCmp("PARENT_NAME").setValue("公共");
			}else{
			Ext.getCmp("PARENT_NAME").setValue(this.parentNode.text);
			}
			Ext.getCmp("ID").setValue(this.selectedTreeNode.id);
			Ext.getCmp("NAME").setValue(this.selectedTreeNode.text);
			Ext.getCmp("CODE_ALIAS").setValue(this.selectedTreeNode.attributes.alias);
			Ext.getCmp("CODE_VALUE").setValue(this.selectedTreeNode.attributes.value);
			Ext.getCmp("COMMENT").setValue(this.selectedTreeNode.attributes.comment);
			Ext.getCmp("ORDER_INDEX").setValue(this.selectedTreeNode.attributes.index);
			Ext.getCmp("PARENT_ID").setValue(this.parentNode.id);
		}
	},
	onSave:function(){
		//var nodeid = this.selectedTreeNode.id;
		var nodeid = Ext.getCmp("ID").getValue();
		var name = Ext.getCmp("NAME").getValue();
		if(''==name.trim()){
			Ext.Msg.alert('提示','名字不能为空!');
			Ext.getCmp("NAME").focus();
			return;
		}
		var code_alias = Ext.getCmp("CODE_ALIAS").getValue();
		if(''==code_alias.trim()){
			Ext.Msg.alert('提示','公共代码不能为空!');
			Ext.getCmp("CODE_ALIAS").focus();
			return;
		}
		var code_value = Ext.getCmp("CODE_VALUE").getValue();
		if(''==code_value.trim()){
			Ext.Msg.alert('提示','属性值不能为空!');
			Ext.getCmp("CODE_VALUE").focus();
			return;
		}
		var comment = Ext.getCmp("COMMENT").getValue();
		var order_index = Ext.getCmp("ORDER_INDEX").getValue();
		var parent_id = Ext.getCmp("PARENT_ID").getValue();
		if(!this.form.getForm().isValid()){
			Ext.Msg.alert('提示','页面输入验证失败,请按照要求格式输入!');
			return;
		}
		Ext.getBody().mask("正在保存,请稍候...");
		this.form.getForm().submit({
			method:'post',
			url:ExtJ.getActionPath('/code/updateMenu.do'),
			params:{
				nodeid:nodeid,
				name:name,
				code_alias:code_alias,
				code_value:code_value,
				comment:comment,
				order_index:order_index,
				parent_id:parent_id
			},
			reset : false,
			success : function(option, action){
				var text = Ext.decode(action.response.responseText);
				this.close();
				if(text.isUpdate){
					
					Ext.Msg.alert('提示','保存成功!');
				}else{
					Ext.Msg.alert('提示','保存失败!');
				}
				Ext.getBody().unmask(true);
				this.treepanel.reload();
			}.createDelegate(this)
		});
	},
	onCancel : function(){
		this.close();
	}
});